package com.botao.dao;

import com.botao.pojo.Student;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

@Mapper
@Repository("mybatisStudentDao")
public interface StudentDao {
    /**
     * 增
     *
     * @param student
     * @return
     */
    int add(Student student);

    /**
     * 删
     *
     * @param id
     * @return
     */
    int delete(String id);

    /**
     * 改
     *
     * @param student
     * @return
     */
    int update(Student student);

    /**
     * 分页查询
     *
     * @param currentPage
     * @param pageSize
     * @return
     */
    List<Student> listStudent(@Param("currentPage") Long currentPage, @Param("pageSize") Long pageSize);

    /**
     * 查一个
     *
     * @param id
     * @return
     */
    Student getOne(String id);

    /**
     * 总数
     *
     * @return
     */
    Long count();

    /**
     * 搜索学生
     *
     * @param id
     * @return
     */
    Student searchStudent(String id);

    /**
     * 通过班级id删除某一个班级的学生
     *
     * @param id
     * @return
     */
    int deleteStudentByClassesId(int id);

    /**
     * 通过班级id获取学生列表
     *
     * @param id
     * @return
     */
    List<Student> getStudentsByClassesId(int id);

    boolean studentExists(String id);

}
